package com.fyl.custom_spring.beans.factory.support;

import com.fyl.custom_spring.beans.BeanDefinition;

/**
 * 注册表接口
 */
public interface BeanDefinitionRegistry {
    //注册BeanDefinition对象到注册表中
    void registerBeanDefinition(String beanName, BeanDefinition beanDefinition);

    //从注册表中删除指定名称的BeanDefinition对象
    void removeBeanDefinition(String beanName);

    //根据名称从注册表中获取BeanDefinition对象
    BeanDefinition getBeanDefinition(String beanName);

    //根据名称判断注册表中是包含BeanDefinition对象
    boolean containsBeanDefinition(String beanName);

    //获取注册表中beanDefinition的数量
    int getBeanDefinitionCount();

    //获取注册表中所有beanDefinition的名称
    String[] getBeanDefinitionNames();
}
